package com.sportmall.util;

import com.sun.javafx.beans.annotations.NonNull;
import org.springframework.util.DigestUtils;

public class MD5Util {

    /**
     * MD5加密方法
     * @param text 明文
     * @param key 秘钥
     * @return
     */
    public static String encode(@NonNull String text, String key){
        return DigestUtils.md5DigestAsHex((text+key).getBytes());
    }

    /**
     * MD5加密方法
     * 秘钥为project.properties的MD5SecretKey
     * @param text 明文
     * @return
     */
    public static String encode(@NonNull String text){
        String key = PropertiesUtil.getProperty("MD5SecretKey", "ccccye");
        return DigestUtils.md5DigestAsHex((text+key).getBytes());
    }

    /**
     * 验证MD5密文
     * @param text 明文
     * @param key 秘钥
     * @param md5 密文
     * @return
     */
    public static boolean verify(String text, String key, String md5){
        String md5Text = encode(text, key);
        if (md5Text.equalsIgnoreCase(md5)){
            return true;
        }
        return false;
    }

    /**
     * 验证MD5密文
     * 秘钥为project.properties的MD5SecretKey
     * @param text 明文
     * @param md5 密文
     * @return
     */
    public static boolean verify(String text, String md5){
        String md5Text = encode(text);
        if (md5Text.equalsIgnoreCase(md5)){
            return true;
        }
        return false;
    }
}
